import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import 'amfe-flexible'// 引入flexible,根据根标签的字体大小来进行适配
import * as API from '@/api'
import '@/utils/vueUse'
Vue.config.productionTip = false
// ↓↓↓↓↓↓↓↓↓↓ 解决重复点击路由报错问题：NavigationDuplicated: Avoided redundant navigation to current location: "/xxx". 开始 ↓↓↓↓↓↓↓↓↓↓//

// 自定义全局指令
// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
  // 当被绑定的元素插入到 DOM 中时……
  // inserted是，当进行disply的切换的时候，不会触发这个方法
  inserted: function (el) {
    // 聚焦元素
    // el是一个组件，我们需要给input自动聚焦 nodeName
    if (el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') {
      // console.log(el.nodeName === 'INPUT')
      el.focus()
    } else {
      setTimeout(() => {
        const theInput = el.querySelector('input')
        if (theInput) {
          theInput.focus()
        }
      }, 500)
    }
  },
  update: function (el) {
    // 聚焦元素
    // el是一个组件，我们需要给input自动聚焦 nodeName
    if (el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') {
      console.log('update')
      console.log(el)
      el.focus()
    } else {
      setTimeout(() => {
        const theInput = el.querySelector('input')
        if (theInput) {
          theInput.focuss()
        }
      }, 500)
    }
    // console.log(el)

    // 页面加载完成之后自动让输入框获取到焦点的小功能
  }
})
new Vue({
  router,
  store,
  beforeCreate () {
    // 统一封装接口
    Vue.prototype.$API = API
    Vue.prototype.$bus = this
  },
  render: h => h(App)
}).$mount('#app')
